package org.example.weboj.service;

import org.example.weboj.dto.ProblemCreateRequest;
import org.example.weboj.dto.ProblemDTO;
import org.example.weboj.dto.ProblemUpdateRequest;
import org.example.weboj.entity.Problems;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wza
 * @since 2025-04-03
 */
public interface IProblemsService extends IService<Problems> {
    ProblemDTO getProblemDTOById(Long id);
    List<ProblemDTO> getAllProblemDTOs();
    
    // 管理员功能
    ProblemDTO createProblem(ProblemCreateRequest request, Long authorId);
    ProblemDTO updateProblem(ProblemUpdateRequest request);
    boolean deleteProblem(Long id);
    List<ProblemDTO> batchCreateProblems(List<ProblemCreateRequest> requests, Long authorId);
}
